home *** CD-ROM | disk | FTP | other *** search
/ BCI NET 2 / BCI NET 2.iso / archives / utilities / crypt / rot13.lha / rot13.c < prev    next >
Encoding:
C/C++ Source or Header  |  1995-01-31  |  1.2 KB  |  59 lines

  1. /* rot13 - Ein Prg zum decodieren von rot13 */
  2.  
  3. #include <stdio.h>
  4. //#include <stdlib.h>
  5. //#include <ctype.h>
  6.  
  7.  
  8. int main(int argc, char **argv)
  9. {
  10.     char *ABC;
  11.     char *abc;
  12.     int c;
  13.     FILE *in, *out;
  14.  
  15.     if (argc != 3)
  16.     {
  17.         printf ("$VER: ROT13 1.0 (25.10.94)");
  18.         printf ("\ngeschrieben von Helmut Kindler");
  19.         printf ("\n\nAufruf: %s <infile> <outfile>\n", argv[0]);
  20.         exit(0);
  21.     }
  22.  
  23.     if ((in = fopen (argv[1], "r")) == NULL)
  24.     {
  25.         printf ("%s: Kann \"%s\" nicht zum Lesen öffnen\n", argv[0], argv[1]);
  26.         exit(0);
  27.     }
  28.  
  29.     if ((out = fopen (argv[2], "w")) == NULL)
  30.     {
  31.         printf ("%s: Kann \"%s\" nicht zum Schreiben öffnen\n", argv[0], argv[2]);
  32.         fclose (in);
  33.         exit(0);
  34.     }
  35.  
  36.     ABC = "NOPQRSTUVWXYZABCDEFGHIJKLM";
  37.     abc = "nopqrstuvwxyzabcdefghijklm";
  38.  
  39.     while ((c = fgetc (in)) != EOF)
  40.     {
  41.         //if (isupper(c))
  42.         if ((c>='A') & (c<='Z'))
  43.         {
  44.             c = c - 'A';
  45.             c = ABC[c];
  46.         }
  47.         //if (islower(c))
  48.         if ((c>='a') & (c<='z'))
  49.         {
  50.             c = c - 'a';
  51.             c = abc[c];
  52.         }
  53.         fprintf (out, "%c", c);
  54.     }
  55.     fclose (in);
  56.     fclose (out);
  57. }
  58.  
  59.